package com.cyru.statemachine.core;

import java.util.Set;

/**
 * description: 状态机配置
 *
 * @author zhangxuchuan
 * date 2022/5/1
 */
public interface StateMachineConfiguration<S, E, C> {

    /**
     * 设置状态机的所有初始状态
     */
    void setInitStates(Set<S> state);

    /**
     * 获取状态机的所有初始状态
     */
    Set<S> getInitStates();

    /**
     * 设置状态机的所有终止状态
     */
    void setEndStates(Set<S> state);

    /**
     * 获取状态机的所有终止状态
     */
    Set<S> getEndStates();

}
